package com.imooc.newretail.bpl.service;

import com.imooc.newretail.common.exceptions.BplException;
import com.imooc.newretail.bpl.entity.Tenant;
import com.baomidou.mybatisplus.extension.service.IService;
import com.imooc.newretail.bpl.entity.TenantUser;

import java.util.List;

/**
 * <p>
 * 租户信息表 服务类
 * </p>
 *
 * @author Hank
 * @since 2020-06-27
 */
public interface ITenantService extends IService<Tenant> {

    boolean disableFranchisee(String tenantId, String remark) throws BplException;

    boolean enableFranchisee(String tenantId) throws BplException;

    /***
     * 根据租户ID删除租户对象和该租户下的所有用户和部门等信息
     * @param tenantId
     * @return
     * @throws BplException
     */
    boolean removeTenantAndUser(String tenantId) throws BplException;

    /***
     * 添加用户到指定的租户
     * @param user
     * @return
     */
    boolean addUser(TenantUser user) throws BplException;

    /***
     * 根据部门ID获取用户列表
     * @param tenantId
     * @return
     */
    List<TenantUser> getUsersByTenantId(String tenantId);

    /**
     * 删除租户下对应的用户
     *
     * @param tenantId
     * @param userId
     * @return
     */
    boolean removeUser(String tenantId, String userId);
}
